Various file transfer systems, including peer-to-peer file transfer systems, implement data transfer operations that include, for example, splitting (partitioning) files/records up into blocks, and transferring them from the same source, or from different sources, to a common destination. Generally, a determination that the correct file was received and that none of the blocks have been corrupted or replaced is performed at the destination. File transfer systems and processes may use CRC's, hash lists, and/or Merkle trees to implement checks and verifications that the blocks are valid.